Aspects for Stages: Cross Cutting Concerns for Metaprograms

نویسندگان

  • Yannis Lilis
  • Anthony Savidis
چکیده

In multi-stage languages the program code is finalized though a sequence of transformations defined in the program itself, a process known as staging, with stages also referred as metaprograms. Since stages are essentially programs, they may also require application of aspectoriented methods to handle crosscutting concerns, something not considered or supported in existing aspect systems. We introduce aspect-oriented support for multi-stage languages by identifying three aspect types for the staging pipeline, namely pre-, inand poststaging. We discuss their implementation in a language supporting compile-time metaprogramming, where aspects are realized as batches of AST transformation metaprograms, accompanied by an AOP-specific library. We also provide example scenarios where the proposed aspect types may be used in practice. Finally, we show how full-scale source-level aspect debugging is facilitated during the program compilation process.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Building Composable Aspect-Specific Languages with Logic Metaprogramming

The goal of aspect-oriented programming is to modularize crosscutting concerns (or aspects) at the code level. These aspects can be defined in either a general-purpose language or in a language that is fine-tuned to a specific aspect in consideration. Aspect-specific languages provide more concise and more readable aspect declarations but are limited to a specific domain. Moreover, multiple asp...

متن کامل

Refactoring object oriented software: cross-cutting concerns identification and isolation

The capability of dividing a big problem in smaller, independent and more tractable units is crucial for the success of the project. Object oriented decomposition uses to work well to manage decomposition in a software project. Altough there are some concerns that overcome the object oriented software decomposition schema. These concerns are called cross-cutting concerns. Being able to identify...

متن کامل

Bridging Java and AspectJ through Explicit Join Points TECHNICAL REPORT ejp-200705-1

Through AspectJ, aspect-oriented programming (AOP) is becoming of increasing interest and availability to Java programmers as it matures as a methodology for improved software modularity via the separation of cross-cutting concerns. AOP proponents often advocate a development strategy where Java programmers write the main application, ignoring cross-cutting concerns, and then AspectJ programmer...

متن کامل

Technical Report EJP-200712-1 Cooperative Aspect-Oriented Programming

Aspect-oriented programming (AOP) seeks to improve software modularity via the separation of cross-cutting concerns. AOP proponents often advocate a development strategy where programmers write the main application (base code), ignoring cross-cutting concerns, and then aspect programmers, domain experts in their specific concerns, weave in the logic for these more specialized cross-cutting conc...

متن کامل

Aspects in Architectural Description of Evolving Systems

Software architecture is the most important artifact in the software life cycle. The architectural description and the architectural design decide the quality and the longevity of the software. The design decisions made to arrive at a particular software architecture decide the value of quality attributes such as performance, reliability, security and modifiability. Also the percentage of desig...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Journal of Object Technology

دوره 13  شماره 

صفحات  -

تاریخ انتشار 2014